import type { ConfigEnv } from 'vite'
import { fileURLToPath, URL } from 'node:url'
import vue from '@vitejs/plugin-vue'
import { defineConfig } from 'vite'
// import { viteMockServe } from 'vite-plugin-mock'

// https://vitejs.dev/config/
export default defineConfig(({ command: _command, mode: _mode }: ConfigEnv) => {
  // const env = loadEnv(mode, process.cwd(), '')

  return {
    plugins: [
      vue(),
      // viteMockServe({
      //   localEnabled: command === 'serve', // 开发阶段使用 mock
      //   // localEnabled: env.VITE_USE_MOCK === 'true', // 环境变量控制 mock
      // }),
    ],
    resolve: {
      alias: {
        '@': fileURLToPath(new URL('./src', import.meta.url)),
      },
      extensions: ['.js', '.ts', '.jsx', '.tsx', '.json', '.vue', '.mjs'],
    },
    base: '',
    // 其他 ESM 相关配置
    esbuild: {
      supported: {
        'top-level-await': true, // 启用顶层 await
      },
    },
  }
})
